package com.ims.core.doc.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ims.common.annotation.Excel;
import com.ims.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 11 增值税普通发票(卷式) 对象 t_in_invoice_11
 *
 * @author IMS
 * @date 2024-12-01
 */
public class TInInvoice11 extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 发票ID */
    @Excel(name = "发票ID")
    private String invoiceId;

    /** 公司代码 */
    @Excel(name = "公司代码")
    private String custId;

    /** 客户公司代码 */
    private String siteCode;

    /** 客户公司 */
    @Excel(name = "客户公司")
    private String siteName;

    /** 文件地址 */
    @Excel(name = "文件地址")
    private String fileAddress;

    /** 源文件地址 */
    @Excel(name = "源文件地址")
    private String originalAddress;

    /** 旋转前文件地址 */
    @Excel(name = "旋转前文件地址")
    private String fileAddressBeforeRotate;

    /** 文件扫描时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "文件扫描时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scanTime;

    /** 发票类型代码 */
    private String invoiceType;

    /** 发票类型 */
    @Excel(name = "发票类型")
    private String invoiceTypeName;

    /** 票据类型 */
    private String noteType;

    /** 票据名称 */
    @Excel(name = "票据名称")
    private String noteName;

    /** 发票代码 */
    @Excel(name = "发票代码")
    private String invoiceCode;

    /** 发票号码 */
    @Excel(name = "发票号码")
    private String invoiceNo;

    /** 开票日期 */
    @Excel(name = "开票日期")
    private String invoiceDate;

    /** 购方名称 */
    @Excel(name = "购方名称")
    private String purchaserName;

    /** 购方税号 */
    @Excel(name = "购方税号")
    private String purchaserTaxNo;

    /** 销方名称 */
    @Excel(name = "销方名称")
    private String saleName;

    /** 销方税号 */
    @Excel(name = "销方税号")
    private String saleTaxNo;

    /** 用途备注 */
    @Excel(name = "用途备注")
    private String useRemark;

    /** 不含税金额 */
    @Excel(name = "不含税金额")
    private BigDecimal totalAmount;

    /** 合计税额 */
    @Excel(name = "合计税额")
    private BigDecimal totalTax;

    /** 价税合计 */
    @Excel(name = "价税合计")
    private BigDecimal amountTax;

    /** 可抵扣税额 */
    @Excel(name = "可抵扣税额")
    private BigDecimal deductTax;

    /** 有无影像 */
    private Integer hasPicture;

    /** 有无影像 */
    @Excel(name = "有无影像")
    private String hasPictureName;

    /** 查验时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "查验时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inspectionTime;

    /** 查验状态代码 */
    private Integer inspectionStatus;

    /** 查验状态 */
    @Excel(name = "查验状态")
    private String inspectionStatusName;

    /** 合规结果代码 */
    private Integer isComplianceCollect;

    /** 合规结果 */
    @Excel(name = "合规结果")
    private String isComplianceCollectName;

    /** 不合规原因描述 */
    @Excel(name = "不合规原因描述")
    private String complianceCollectDesc;

    /** 查验失败描述 */
    @Excel(name = "查验失败描述")
    private String inspectionErrorDesc;

    /** 发票校验状态代码 */
    private Integer verifyStatus;

    /** 发票校验状态 */
    @Excel(name = "发票校验状态")
    private String verifyStatusName;

    /** 发票状态代码 */
    private Integer invoiceState;

    /** 发票状态 */
    @Excel(name = "发票状态")
    private String invoiceStateName;

    /** 发票签收状态代码 */
    private String signStatus;

    /** 发票签收状态 */
    @Excel(name = "发票签收状态")
    private String signStatusName;

    /** 推送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "推送时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pushTime;

    /** 发票采集业务系统配置 */
    @Excel(name = "发票采集业务系统配置")
    private String collectinvUseType;

    /** ERP发票流水号 */
    @Excel(name = "ERP发票流水号")
    private String erpSerialNumber;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setInvoiceId(String invoiceId)
    {
        this.invoiceId = invoiceId;
    }

    public String getInvoiceId()
    {
        return invoiceId;
    }
    public void setCustId(String custId)
    {
        this.custId = custId;
    }

    public String getCustId()
    {
        return custId;
    }
    public void setSiteCode(String siteCode)
    {
        this.siteCode = siteCode;
    }

    public String getSiteCode()
    {
        return siteCode;
    }
    public void setSiteName(String siteName)
    {
        this.siteName = siteName;
    }

    public String getSiteName()
    {
        return siteName;
    }
    public void setFileAddress(String fileAddress)
    {
        this.fileAddress = fileAddress;
    }

    public String getFileAddress()
    {
        return fileAddress;
    }
    public void setOriginalAddress(String originalAddress)
    {
        this.originalAddress = originalAddress;
    }

    public String getOriginalAddress()
    {
        return originalAddress;
    }
    public void setFileAddressBeforeRotate(String fileAddressBeforeRotate)
    {
        this.fileAddressBeforeRotate = fileAddressBeforeRotate;
    }

    public String getFileAddressBeforeRotate()
    {
        return fileAddressBeforeRotate;
    }
    public void setScanTime(Date scanTime)
    {
        this.scanTime = scanTime;
    }

    public Date getScanTime()
    {
        return scanTime;
    }
    public void setInvoiceType(String invoiceType)
    {
        this.invoiceType = invoiceType;
    }

    public String getInvoiceType()
    {
        return invoiceType;
    }
    public void setInvoiceTypeName(String invoiceTypeName)
    {
        this.invoiceTypeName = invoiceTypeName;
    }

    public String getInvoiceTypeName()
    {
        return invoiceTypeName;
    }
    public void setNoteType(String noteType)
    {
        this.noteType = noteType;
    }

    public String getNoteType()
    {
        return noteType;
    }
    public void setNoteName(String noteName)
    {
        this.noteName = noteName;
    }

    public String getNoteName()
    {
        return noteName;
    }
    public void setInvoiceCode(String invoiceCode)
    {
        this.invoiceCode = invoiceCode;
    }

    public String getInvoiceCode()
    {
        return invoiceCode;
    }
    public void setInvoiceNo(String invoiceNo)
    {
        this.invoiceNo = invoiceNo;
    }

    public String getInvoiceNo()
    {
        return invoiceNo;
    }
    public void setInvoiceDate(String invoiceDate)
    {
        this.invoiceDate = invoiceDate;
    }

    public String getInvoiceDate()
    {
        return invoiceDate;
    }
    public void setPurchaserName(String purchaserName)
    {
        this.purchaserName = purchaserName;
    }

    public String getPurchaserName()
    {
        return purchaserName;
    }
    public void setPurchaserTaxNo(String purchaserTaxNo)
    {
        this.purchaserTaxNo = purchaserTaxNo;
    }

    public String getPurchaserTaxNo()
    {
        return purchaserTaxNo;
    }
    public void setSaleName(String saleName)
    {
        this.saleName = saleName;
    }

    public String getSaleName()
    {
        return saleName;
    }
    public void setSaleTaxNo(String saleTaxNo)
    {
        this.saleTaxNo = saleTaxNo;
    }

    public String getSaleTaxNo()
    {
        return saleTaxNo;
    }
    public void setUseRemark(String useRemark)
    {
        this.useRemark = useRemark;
    }

    public String getUseRemark()
    {
        return useRemark;
    }
    public void setTotalAmount(BigDecimal totalAmount)
    {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount()
    {
        return totalAmount;
    }
    public void setTotalTax(BigDecimal totalTax)
    {
        this.totalTax = totalTax;
    }

    public BigDecimal getTotalTax()
    {
        return totalTax;
    }
    public void setAmountTax(BigDecimal amountTax)
    {
        this.amountTax = amountTax;
    }

    public BigDecimal getAmountTax()
    {
        return amountTax;
    }
    public void setDeductTax(BigDecimal deductTax)
    {
        this.deductTax = deductTax;
    }

    public BigDecimal getDeductTax()
    {
        return deductTax;
    }
    public void setHasPicture(Integer hasPicture)
    {
        this.hasPicture = hasPicture;
    }

    public Integer getHasPicture()
    {
        return hasPicture;
    }
    public void setHasPictureName(String hasPictureName)
    {
        this.hasPictureName = hasPictureName;
    }

    public String getHasPictureName()
    {
        return hasPictureName;
    }
    public void setInspectionTime(Date inspectionTime)
    {
        this.inspectionTime = inspectionTime;
    }

    public Date getInspectionTime()
    {
        return inspectionTime;
    }
    public void setInspectionStatus(Integer inspectionStatus)
    {
        this.inspectionStatus = inspectionStatus;
    }

    public Integer getInspectionStatus()
    {
        return inspectionStatus;
    }
    public void setInspectionStatusName(String inspectionStatusName)
    {
        this.inspectionStatusName = inspectionStatusName;
    }

    public String getInspectionStatusName()
    {
        return inspectionStatusName;
    }
    public void setIsComplianceCollect(Integer isComplianceCollect)
    {
        this.isComplianceCollect = isComplianceCollect;
    }

    public Integer getIsComplianceCollect()
    {
        return isComplianceCollect;
    }
    public void setIsComplianceCollectName(String isComplianceCollectName)
    {
        this.isComplianceCollectName = isComplianceCollectName;
    }

    public String getIsComplianceCollectName()
    {
        return isComplianceCollectName;
    }
    public void setComplianceCollectDesc(String complianceCollectDesc)
    {
        this.complianceCollectDesc = complianceCollectDesc;
    }

    public String getComplianceCollectDesc()
    {
        return complianceCollectDesc;
    }
    public void setInspectionErrorDesc(String inspectionErrorDesc)
    {
        this.inspectionErrorDesc = inspectionErrorDesc;
    }

    public String getInspectionErrorDesc()
    {
        return inspectionErrorDesc;
    }
    public void setVerifyStatus(Integer verifyStatus)
    {
        this.verifyStatus = verifyStatus;
    }

    public Integer getVerifyStatus()
    {
        return verifyStatus;
    }
    public void setVerifyStatusName(String verifyStatusName)
    {
        this.verifyStatusName = verifyStatusName;
    }

    public String getVerifyStatusName()
    {
        return verifyStatusName;
    }
    public void setInvoiceState(Integer invoiceState)
    {
        this.invoiceState = invoiceState;
    }

    public Integer getInvoiceState()
    {
        return invoiceState;
    }
    public void setInvoiceStateName(String invoiceStateName)
    {
        this.invoiceStateName = invoiceStateName;
    }

    public String getInvoiceStateName()
    {
        return invoiceStateName;
    }
    public void setSignStatus(String signStatus)
    {
        this.signStatus = signStatus;
    }

    public String getSignStatus()
    {
        return signStatus;
    }
    public void setSignStatusName(String signStatusName)
    {
        this.signStatusName = signStatusName;
    }

    public String getSignStatusName()
    {
        return signStatusName;
    }
    public void setPushTime(Date pushTime)
    {
        this.pushTime = pushTime;
    }

    public Date getPushTime()
    {
        return pushTime;
    }
    public void setCollectinvUseType(String collectinvUseType)
    {
        this.collectinvUseType = collectinvUseType;
    }

    public String getCollectinvUseType()
    {
        return collectinvUseType;
    }
    public void setErpSerialNumber(String erpSerialNumber)
    {
        this.erpSerialNumber = erpSerialNumber;
    }

    public String getErpSerialNumber()
    {
        return erpSerialNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("invoiceId", getInvoiceId())
            .append("custId", getCustId())
            .append("siteCode", getSiteCode())
            .append("siteName", getSiteName())
            .append("fileAddress", getFileAddress())
            .append("originalAddress", getOriginalAddress())
            .append("fileAddressBeforeRotate", getFileAddressBeforeRotate())
            .append("scanTime", getScanTime())
            .append("invoiceType", getInvoiceType())
            .append("invoiceTypeName", getInvoiceTypeName())
            .append("noteType", getNoteType())
            .append("noteName", getNoteName())
            .append("invoiceCode", getInvoiceCode())
            .append("invoiceNo", getInvoiceNo())
            .append("invoiceDate", getInvoiceDate())
            .append("purchaserName", getPurchaserName())
            .append("purchaserTaxNo", getPurchaserTaxNo())
            .append("saleName", getSaleName())
            .append("saleTaxNo", getSaleTaxNo())
            .append("useRemark", getUseRemark())
            .append("totalAmount", getTotalAmount())
            .append("totalTax", getTotalTax())
            .append("amountTax", getAmountTax())
            .append("deductTax", getDeductTax())
            .append("hasPicture", getHasPicture())
            .append("hasPictureName", getHasPictureName())
            .append("inspectionTime", getInspectionTime())
            .append("inspectionStatus", getInspectionStatus())
            .append("inspectionStatusName", getInspectionStatusName())
            .append("isComplianceCollect", getIsComplianceCollect())
            .append("isComplianceCollectName", getIsComplianceCollectName())
            .append("complianceCollectDesc", getComplianceCollectDesc())
            .append("inspectionErrorDesc", getInspectionErrorDesc())
            .append("verifyStatus", getVerifyStatus())
            .append("verifyStatusName", getVerifyStatusName())
            .append("invoiceState", getInvoiceState())
            .append("invoiceStateName", getInvoiceStateName())
            .append("signStatus", getSignStatus())
            .append("signStatusName", getSignStatusName())
            .append("pushTime", getPushTime())
            .append("collectinvUseType", getCollectinvUseType())
            .append("erpSerialNumber", getErpSerialNumber())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
